﻿using System.Collections.Generic;
using AccesoData;
using Entidades;
using NUnit.Framework;

namespace Pruebas.PruebasDao
{
    [TestFixture]
    class PruebaDaoPoliza : CrearEntidades
    {

       [TestCase]
        public void PruebaAgregarPoliza()
        {
           Poliza miPoliza = FabricaEntidades.ObtenerPoliza();
           
           miPoliza.Aseguradora.Id = DatosAseguradora("pruebaPoliza");
           miPoliza.Cliente.Id = DatosCliente("pruebaPoliza");
           miPoliza.Numero = "021201201201";
           miPoliza.Ramo.Id =DatosRamo().Id;

           miPoliza.Id = DAO.ObtenerFabrica(1).ObtenerDaoPoliza().AgregarPoliza(miPoliza);

           Poliza prueba = DAO.ObtenerFabrica(1).ObtenerDaoPoliza().ObtenerPoliza(miPoliza.Id);

           Assert.AreNotEqual(-1,miPoliza.Id);
           Assert.AreEqual(miPoliza.Numero, prueba.Numero,"numero");
           Assert.AreEqual(miPoliza.Aseguradora.Id,prueba.Aseguradora.Id,"aseguradora");
           Assert.AreEqual(miPoliza.Cliente.Id,prueba.Cliente.Id,"cliente");
           Assert.AreEqual(miPoliza.Ramo.Id,prueba.Ramo.Id);
        }

        [TestCase]
        public void PruebaObtenerPolizasCliente()
        {
            List<Poliza> miLista = new List<Poliza>();
            Poliza miPoliza = FabricaEntidades.ObtenerPoliza();
            Poliza miPoliza1 = FabricaEntidades.ObtenerPoliza();

            int idCliente = DatosCliente("pruebaPoliza");
            int idAseguradora = DatosAseguradora("pruebaPoliza");

            miPoliza = DatosPoliza(idAseguradora, idCliente);
            miPoliza1 = DatosPoliza(idAseguradora, idCliente);

            miLista = 
                DAO.ObtenerFabrica(1).ObtenerDaoPoliza().ObtenerPolizasCliente(idCliente);

            Assert.AreEqual(miPoliza.Id,miLista[0].Id);
            Assert.AreEqual(miPoliza1.Id, miLista[1].Id);
        }
    }
}
